Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A 
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard 
All Tour U.S. Open - New York Brest Challenger Australian Open - Melbourne Tenerife 1 Challenger Ottignies-Louvain-la-Neuve Challenger Open Sud de France - Montpellier Shenzhen 1 Challenger French Open - Paris Guangzhou Challenger M25+H Ajaccio M25 Setubal M25 Elvas Perugia Challenger Wimbledon - London Segovia Challenger M25 Roda de Bara Porto Challenger National Bank Open - Montreal Western & Southern Open - Cincinnati Winston-Salem Open - Winston-Salem U.S. Open - New York Erste Bank Open - Vienna Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells St. Tropez Challenger Tenerife 1 Challenger Open Occitanie - Montpellier M25 Bali Koblenz Challenger ASB Classic - Auckland Australian Open - Melbourne M25 Toulouse-Balma Barcelona Open Banc Sabadell - Barcelona Grand Prix Hassan II - Marrakech Gwangju Challenger French Open - Paris Cincinnati Open - Cincinnati Manacor Challenger M25+H Ajaccio National Bank Open - Toronto Segovia Challenger Porto Challenger U.S. Open - New York Seville Challenger Cassis Challenger Davis Cup, World Group, Q2, ESP-DEN 3-2 Bad Waltersdorf Challenger Hersonissos 5 Challenger Hersonissos 6 Challenger Olbia Challenger Spain F31 France F18 Spain F38 Spain F6 Spain F7 Egypt F5 Egypt F6 Spain F13 Spain F14 Spain F15 Spain F22 Spain F28 Spain F29 Spain F30 France F14 Spain F31 Spain F32 Spain F34 Spain F33 Spain F35 Spain F36 Spain F37 Spain F1 Spain F2 France F1 Spain F4 Spain F7 Spain F9 France F5 Spain F10 Spain F11 Spain F14 Spain F15 Great Britain F6 Spain F23 Ireland F1 Spain F27 Great Britain F11 Great Britain F12 Belgium F1 Spain F31 Spain F32 Spain F35 Spain F36 France F19 Spain F37 Spain F38 Spain F39 Spain F2 Spain F3 France F3 Spain F5 Spain F6 Canada F2 Thailand F1 Morocco F4 Romania F6 Spain F28 France F15 Sweden F6 Sweden F7 Turkey F1 France F3 France F4 France F5 Bahrain F1 Saudi Arabia F1 Thailand F1 Thailand F2 Thailand F3 India F11 India F12 Spain F25 France F16 France F17 France F20 Morocco F6 Morocco F7 Thailand F4 Thailand F5 Thailand F6 Morocco F9 Cambodia F1 Morocco F10 Cambodia F2 Cambodia F3 Turkey F2 Turkey F3 Spain F2 Spain F3 Portugal F1 Spain F4 Portugal F2 Spain F6 Spain F7 Belgium F7 Germany F9 Belgium F9 Spain F21 Spain F22 Turkey F29 Turkey F30 Portugal F7 Portugal F8 Spain F31 Spain F32 Tunisia F7 Tunisia F9 Tunisia F9 Tunisia F10 France F7 Turkey F14 Turkey F15 Tunisia F15 Spain F11 India F5 India F8 India F9 India F10 Belgium F6 Turkey F31 Gabon F2 Tunisia F25 Norway F1 Norway F3 Tunisia F32 France F2 Israel F1 Israel F2 Israel F3 France F5 Italy F4 Qatar F2 Qatar F3 Spain F11 Germany F15 Israel F8 Great Britain F1 Israel F9 Israel F10 Spain F19 Portugal F8 Vietnam F1 Vietnam F2 Vietnam F3 Thailand F1 Thailand F2 Thailand F3 France F21 Germany F14 France F23 Germany F17 Egypt F1 (Sharm El Sheikh) Egypt F2 (Sharm El Sheikh) Egypt F3 (Sharm El Sheikh) Indonesia F2 (Jakarta) Indonesia F3 (Jakarta) Portugal F3 (Loule) Qatar F1 (Doha) Qatar F2 (Doha) Qatar F3 (Doha) Israel F4 (Ramat Gan) Tunisia F19 (Hammamet) Israel F9 (Kiryat Shmona) Israel F10 (Kiryat Shmona) Israel F11 (Herzlia) Israel F12 (Tel Aviv) Portugal F11 (Povoa de Varzim) Portugal F12 (Idanha-A-Nova) Portugal F13 (Idanha-A-Nova) France F19 France F18 (Bagneres-De-Bigorre) Great Britain F4 (Nottingham) Great Britain F5 (Roehampton) Egypt F29 (Sharm El Sheikh) Malaysia F3 (Kuala Lumpur) Qatar F4 (Doha) Qatar F5 (Doha) Qatar F6 (Doha) Turkey F2 (Antalya) Turkey F3 (Antalya) Portugal F2 (Faro) Italy F10 (Casale Monferrato) Italy F12 (Reggio Emilia) Switzerland F3 (Sion) France F17 (Mulhouse) France F18 (Plaisir) Thailand F3 M25 Nussloch M25 Barnstaple M25 Glasgow M15 Toulouse M15 Poitiers Spain F15 M25 Bolton M25 Sunderland M15 Tabarka M15 Tabarka Israel F8 M25 Montauban M25+H Ajaccio M15 Sintra M15 Piombino M25+H Mulhouse M25+H Nevers M25 Monastir M25 Monastir M15 Monastir M25+H Rodez M15 Sarreguemines M15 Quinta Do Lago M25 Villena M15 Grenoble M25 Vale do Lobo M25 Faro M25 Vale do Lobo M25 Biel M15 Monastir M15 Monastir M25 Vic M25 Most M25 Grasse M25 Montauban M25 Bourg-en-Bresse M25 Gandia M25 Denia M25 Bagneres-De-Bigorre M25 Sintra M25 Falun M25 Nevers M25+H Rodez M25 Toulouse M25 Saint Dizier M25 Villers Les Nancy Gabon F1 M25 Loughborough M25 Shrewsbury M25 Loule M25 Nottingham M25 Martos Tunisia F8 M25 Nevers Spain F19 France F13 St. Remy Challenger Caltanissetta Challenger Norway F2 Bangalore Challenger Turkey F19 Meknes Challenger St. Brieuc Challenger Alessandria Challenger Bytom Challenger Marburg Challenger Pozoblanco Challenger Trani Challenger San Sebastian Challenger Geneva Challenger Rabat Challenger Caltanissetta Challenger Rome Challenger Cremona Challenger Alessandria Challenger Pozoblanco Challenger Como Challenger Ljubljana Challenger Heilbronn Challenger Quimper Challenger Rabat Challenger Marrakech Challenger Orleans Challenger Bordeaux Challenger Caltanissetta Challenger Blois Challenger Tanger Challenger Poznan Challenger Orbetello Challenger Segovia Challenger Cordenons Challenger Como Challenger Genova Challenger Mohammedia Challenger Seville Challenger Prostejov Challenger Perugia Challenger Braunschweig Challenger Poznan Challenger Seville Challenger Szczecin Challenger Mohammedia Challenger St. Brieuc Challenger Gimcheon Challenger Mouilleron-Le-Captif Challenger Meknes Challenger Segovia Challenger M25 Toulouse-Balma Pune Challenger Chennai Challenger St. Remy Challenger Drummondville Challenger Lille Challenger San Sebastian Challenger Taipei City Challenger Nanchang Challenger Aix En Provence Challenger St. Remy Challenger Mestre Challenger Poznan Challenger Recanati Challenger Gatineau Challenger Binghamton Challenger Banja Luka Challenger Napoli Challenger Cassis Challenger Buenos Aires Challenger Almaty Challenger Bangalore Challenger Noumea Challenger Da Nang Challenger Tunis Challenger Francavilla Challenger Samarkand Challenger Parma Challenger Segovia Challenger Cassis Challenger Glasgow Challenger Helsinki Challenger Rennes Challenger Drummondville Challenger Columbus Challenger Bordeaux Challenger Winnipeg Challenger Biel Challenger Mouilleron-Le-Captif Challenger Portoroz Challenger Forli 2 Challenger Forli 3 Challenger Forli 4 Challenger Pau Challenger St. Brieuc Challenger Turin Challenger Aix En Provence Challenger Nottingham Challenger Malaga Challenger Porto Challenger Segovia Challenger Shymkent Challenger Rennes Challenger Mouilleron-Le-Captif Challenger Drummondville Challenger Nonthaburi 1 Challenger Nonthaburi 3 Challenger Aix En Provence Challenger Koblenz Challenger Cherbourg Challenger Rovereto Challenger M15+H Bressuire Spain F1 Morelos Challenger Leon Challenger Bordeaux Challenger Tyler Challenger Palmas del Mar Challenger Ilkley Challenger Mallorca Challenger Rome Challenger Wuxi Challenger Ortisei Challenger Heilbronn Challenger Calgary Challenger Lyon Challenger Vilnius Challenger Lugano Challenger St. Brieuc Challenger Lille Challenger M15 Bali Little Rock Challenger M25 Doha Malaga Challenger Budapest Challenger Lille Challenger Lugano Challenger Busan Challenger Braunschweig Challenger Wuxi Challenger Meknes Challenger Lyon Challenger Poznan Challenger Pozoblanco Challenger Tashkent Challenger Grodzisk Mazowiecki Challenger Rennes Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Taipei 2 Challenger Seoul Challenger Pau Challenger Nonthaburi 3 Challenger Chennai Challenger Tenerife 2 Challenger Lugano Challenger Thionville Challenger Taipei Challenger Girona Challenger Chicago Challenger Roanne Challenger Busan Challenger Cassis Challenger Orleans Challenger Ho Chi Minh City Challenger Tyler Challenger Nottingham Challenger Pune Challenger Villena Challenger Montemar Challenger Pau Challenger Madrid Challenger Tanger Challenger Milan Challenger Medellin Challenger Pozoblanco Challenger Segovia Challenger Rome Challenger Kosice Challenger Segovia Challenger Vancouver Challenger Manerbio Challenger Bergamo Challenger Casablanca Challenger M25 Monastir Timisoara Challenger Open Sabadell Atlantico - Barcelona Open 13 - Marseille Grand Prix Hassan II - Casablanca Open Sabadell Atlantico - Barcelona Estoril Open - Estoril M25 Roda de Bara If Stockholm Open - Stockholm Open Sud de France - Montpellier Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Portugal Open - Oeiras Malaysian Open - Kuala Lumpur China Open - Beijing If Stockholm Open - Stockholm Valencia Open - Valencia Royal Guard Open Chile - Vina del Mar Rio Open 500 - Rio de Janeiro Grand Prix Hassan II - Casablanca Portugal Open - Oeiras SkiStar Swedish Open - Bastad Bet-at-home Open - Hamburg Vegeta Croatia Open - Umag Bet-at-home Cup - Kitzbuhel Winston-Salem Open - Winston-Salem If Stockholm Open - Stockholm Valencia Open - Valencia Aircel Chennai Open - Chennai Heineken Open - Auckland Rio Open - Rio de Janeiro Argentina Open - Buenos Aires Grand Prix Hassan II - Casablanca Barcelona Open BancSabadell - Barcelona Open de Nice Cote d'Azur - Nice Vegeta Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Austrian Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz If Stockholm Open - Stockholm Valencia Open - Valencia Millennium Estoril Open - Estoril Qatar ExxonMobil Open - Doha Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Konzum Croatia Open - Umag Abierto Mexicano - Los Cabos Winston-Salem Open - Winston-Salem China Open - Beijing Kremlin Cup - Moscow Swiss Indoors Basel - Basel Apia International - Sydney Argentina Open - Buenos Aires Brasil Open - Sao Paulo Barcelona Open BancSabadell - Barcelona Winston-Salem Open - Winston-Salem China Open - Beijing Kremlin Cup - Moscow Erste Bank Open - Vienna Qatar ExxonMobil Open - Doha Ecuador Open - Quito Argentina Open - Buenos Aires Rio Open - Rio de Janeiro Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad German Tennis Championships - Hamburg Citi Open - Washington Winston-Salem Open - Winston-Salem ASB Classic - Auckland Barcelona Open Banc Sabadell - Barcelona Turkish Airlines Open Antalya - Antalya SkiStar Swedish Open - Bastad Winston-Salem Open - Winston-Salem Moselle Open - Metz Chengdu Open - Chengdu Erste Bank Open - Vienna Adelaide International - Adelaide Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai European Open - Antwerp Erste Bank Open - Vienna Barcelona Open Banc Sabadell - Barcelona Mallorca Championships - Mallorca Winston-Salem Open - Winston-Salem Moselle Open - Metz Erste Bank Open - Vienna Anytech365 Andalucia Open - Marbella Rio Open - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Barcelona Open Banc Sabadell - Barcelona Noventi Open - Halle Swiss Indoors Basel - Basel Mallorca Championships - Mallorca Anning Challenger Aircel Chennai Open - Chennai Lille Challenger Quimper Challenger Geneva Open - Geneva Aegon Nottingham Open - Nottingham Chengdu Open - Chengdu Rio Open - Rio de Janeiro Millennium Estoril Open - Estoril SkiStar Swedish Open - Bastad Biella 7 Challenger Millennium Estoril Open - Estoril Rennes Challenger Brasil Open - Sao Paulo German Tennis Championships - Hamburg Generali Open - Kitzbuhel Manama Challenger Intrum Stockholm Open - Stockholm Palermo Challenger Biel Challenger Open Parc - Lyon Pozoblanco Challenger Mallorca Championships - Mallorca Nordea Open - Bastad Hamburg European Open - Hamburg Moselle Open - Metz Sofia Open - Sofia Mouilleron-Le-Captif Challenger Rakuten Japan Open - Tokyo Gijon Open - Gijon Tennis Napoli Open - Naples Adelaide International 2 - Adelaide ABN AMRO World Tennis Tournament - Rotterdam Hamburg Challenger Gwangju Challenger Dubai Duty Free Tennis Championships - Dubai United Cup - Australia Winston-Salem Open - Winston-Salem Barcelona Open BancSabadell - Barcelona Citi Open - Washington Aegon Nottingham Open - Nottingham Ismaning Challenger Vilnus Challenger Cherbourg Challenger Alicante Challenger Cherbourg Challenger Murcia Challenger Guangzhou Challenger Roanne Challenger Little Rock Challenger St. Brieuc Challenger Porto Challenger BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Montreal Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Rolex Paris Masters - Paris BNP Paribas Open - Indian Wells Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Western & Southern Open - Cincinnati Rolex Paris Masters - Paris Cassis Challenger Pozoblanco Challenger Rennes Challenger Heineken Open - Auckland Copa Claro - Buenos Aires Power Horse Cup - Dusseldorf Cordoba Open - Cordoba Orleans Challenger Hamburg European Open - Hamburg China Open - Beijing French Open - Paris French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Australian Open - Melbourne U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Davis Cup, Group I, 2R, ROU-ESP 1-4 Davis Cup, World Group, 1R, CRO-ESP 2-3 Davis Cup, World Group, QF, SRB-ESP 4-1 Davis Cup, World Group, SF, FRA-ESP 3-2 Davis Cup, Finals, QF, ARG-ESP 1-2 ATP Cup - Melbourne Davis Cup, Finals, Group A ATP Cup - Sydney Davis Cup, Finals, QF, CRO-ESP 2-0 U.S. Open (juniors) Australian Open (juniors) French Open (juniors) French Open (juniors) Kooyong Classic - Kooyong Mubadala World Tennis Championship All Lower level tournaments Nitto ATP Finals - London Olympics - Tokyo Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid BNP Paribas Masters - Paris Shanghai Rolex Masters - Shanghai European Open - Antwerp Western & Southern Open - New York Miami Open - Miami Rolex Paris Masters - Paris Internazionali BNL d'Italia - Rome Mutua Madrid Open - Madrid BNP Paribas Open - Indian Wells Wimbledon - London Wimbledon - London Davis Cup, Group B, Valencia